if (operation != STATE_CHANGE_REPLACE)
flags &= ~(GTK_STATE_FLAG_INSENSITIVE);
- /* Focused state is meant to be set only on the widget
- * being changed itself, not on the children */
- if ((flags & GTK_STATE_FLAG_FOCUSED) !=
- (priv->state_flags & GTK_STATE_FLAG_FOCUSED))
- priv->state_flags |= GTK_STATE_FLAG_FOCUSED;
-
- flags &= ~(GTK_STATE_FLAG_FOCUSED);
-
if (flags != 0 ||
operation == STATE_CHANGE_REPLACE)
{
data->parent_sensitive = gtk_widget_is_sensitive (widget);
/* Do not propagate insensitive state further */
- data->flags &= ~(GTK_STATE_FLAG_INSENSITIVE);
+ data->flags &= ~(GTK_STATE_FLAG_INSENSITIVE | GTK_STATE_FLAG_FOCUSED);
if (data->use_forall)
gtk_container_forall (GTK_CONTAINER (widget),